﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using distrilan;

public partial class admin_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //se nella sessione non c'e utente amministratore, redirigo l'utente alla pagina di login
        if (SiteUser.IsLoggedAdmin() == false)
            Server.Transfer("index.aspx");
    }





    protected void btnCaricaNews_Click(object sender, EventArgs e)
    {
        string path = "../" + ConfigurationManager.AppSettings["dir_img_news"].ToString();

        //salvo su hdd l'immagine della news
        String nomeImmagine = FileUpload1.PostedFile.FileName;
        try
        {
            string toSave = path + "/" + nomeImmagine;
            FileUpload1.PostedFile.SaveAs(Server.MapPath(toSave));
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.Text += " <br/><br/> errore in fase salvataggio immagine della news su disco.<br/> ritentare l'immissione CAMBIANDO NOME ALL'IMMAGINE o contattare l'amministratote";
            lblMessage.CssClass = "lblErrore";
            return;
        }
        SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());

        //salvo tutto quanto su DB
        try
        {
            connection.Open();
            string query = "INSERT INTO newsEPromo (data, titolo, testo, immagine, tipologia) values ('";
            query += txtData.Text + "','";
            query += txtTitoloNews.Text.Replace("'","''") + "','";
            query += txtTesto.Text.Replace("'", "''") + "','";
            query += nomeImmagine + "','";
            query += DropDownListNewsOPromo.SelectedValue + "')";

            SqlCommand cmd = new SqlCommand(query, connection);
            if (cmd.ExecuteNonQuery() != 1)
            {
                lblMessage.Text = "Errore interno al DB: inserimento della news fallito";
                lblMessage.CssClass = "lblErrore";
                return;
            }
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.CssClass = "lblErrore";
            return;
        }
        finally
        {
            connection.Close();
        }

        lblMessage.Text = "news o promo inserita con successo!";
        txtData.Text = "";
        txtTesto.Text = "";
        txtTitoloNews.Text = "";
       
        lblMessage.CssClass = "lblOk";
    }


    /// <summary>
    /// metodo chiamato quando si ha l'inizializzazione della text area per il controllo dei caratteri inseriti
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void initTextBox_descrizione_Breve(object sender, EventArgs e)
    {
        txtTesto.Attributes.Add("OnKeyUp", "calcCharLeft(" + txtTesto.UniqueID + ")");
        txtTesto.Attributes.Add("OnChange", "calcCharLeft(" + txtTesto.UniqueID + ")");
    }

    

}
